package ru.susu.algebra.partition;

import java.io.IOException;
import java.io.Serializable;
import java.io.Writer;

/**
 * @author akargapolov
 * @since: 18.03.2009
 */
public interface Partition extends Serializable, Comparable<Partition>, Cloneable
{
	Partition clone();

	Integer getPresentedNumber();

	boolean add(Integer number);

	boolean add(Integer number, Integer count);

	boolean remove(Integer number);

	boolean remove(Integer number, Integer count);

	Integer getOrderNumber();

	Integer[] getArrayRepresentation();

	Integer getLength();

	void writeTo(Writer writer, int width) throws IOException;
}
